Method and apparatus for reducing spread spectrum noise

ABSTRACT

A communication device including a per finger interference reducer adapted to remove an interference effect of at least one pilot signal from the output of a despreader of the finger.

CROSS-REFERENCE TO PREVIOUS APPLICATIONS

This application is a continuation-in-part (CIP) application of U.S. patent application Ser. No 09/443,864, filed Nov. 19, 1999, which is a continuation of U.S. patent application Ser. No. 08/873,880, filed Jun. 11, 1997 and now issued as U.S. Pat No. 6,034,986, both of which are incorporated by reference herein.

FIELD OF THE INVENTION

The present invention relates to spread spectrum communication systems generally and to noise reducing units in mobile handsets of such communication systems in particular.

BACKGROUND OF THE INVENTION

A conventional spread spectrum signal can be viewed as the result of mixing a narrowband information-bearing signal i[t] with an informationless wideband “spreading” signal p[t]. If B_(i) and B_(p) denote the bandwidths of i[t] and p[t], respectively, then the “processing gain” available to the receiver is G=B_(p)/B_(i). The receiver synchronizes the incoming signal to a locally generated version p_(o)[t] of p[t] and mixes the received signal with p_(o)[t], thereby removing p[t] from the signal and “collapsing” the signal to the “information bandwidth” B_(i).

The spreading signal p[t] is typically a coding sequence of some kind, such as a pseudo-random code. The United States space program initially utilized a Type 1 Reed-Muller code for deep-space communications. In many code division multiple access (CL)MA) systems, the code is an M-sequence which has good “noise like” properties yet is very simple to construct.

For example, in the IS-95 standard for cellular communication, the forward channel (base to mobile units) employs, as a spreading code, the product of a 64 chip Walsh code (aimed at separating up to 64 different users per base) and a periodic PN sequence (aimed at separating the different bases). Thus, the spreading signal p[t] for each user is its Walsh code combined with the current 64 chips of the PN sequence of its base station.

In order to synchronize the local version p_(o)[t] of the spreading signal with the original version p[t], the base station additionally transmits the current PN sequence via a pilot signal z[t] (the pilot signal z[t] is simply the current PN sequence multiplied by the all 1 Walsh code). The mobile unit then synchronizes its local code generator to the pilot signal after which the mobile unit can despread the received information bearing signals using its Walsh code and the current PN sequence.

The Walsh codes W_(j), I=1, . . . 64 are perfectly orthogonal to each other such that, in a non-dispersive transmission channel, there will be complete separation among the users even despite being transmitted at the same time and on the same transmission frequencies.

Practical channels, however, are time dispersive, resulting in multipath effects where the receiver picks up many echoes of the transmitted signal each having different and randomly varying delays and amplitudes. In such a scenario, the code's orthogonality is destroyed and the users are no longer separated. Consequently, a mobile unit, when attempting to detect only a single user, regards all other channel users (including signals from other base stations) as creators of interference. This contributes to a decrease in signal-to-noise ratio (SNR) and thus, reduces the reception quality of the mobile unit.

In the presence of multipath channels, the mobile units additionally process the informationless pilot signal to identify and track the multipath parameters of the channel. For this purpose, the mobile units include a channel estimator which detects and tracks the attenuation, denoted by channel “tap” ĥ_(i), and the relative delay, denoted by {circumflex over (τ)}_(i), for each of the main paths. The mobile units then utilize the channel information in their detection operations.

One exemplary multipath detector is a rake receiver which optimally combines the different paths into a single replica of the transmitted signal. Rake receivers are described in detail e.g. in the book Digital Communications by J. G. Proakis, McGraw-Hill, Third Edition, 1995. The book is incorporated herein by reference.

A multiple-user detection scheme, such as is often used in base stations, can be viewed as interpreting the cross-talk between the signals of the users as merely a part of the multiple-input, multiple-output channel distortion. The base station accounts for this distortion during the detection process and, in general, the distortion does not translate into an SNR reduction. Therefore, it is not surprising that, with practical multipath channels, multi-user detection schemes are far superior to single-user ones.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention will be understood and appreciated more fully from the following detailed description taken in conjunction with the drawings in which:

FIG. 1 is a block diagram illustration of a data detector for a mobile unit, constructed and operative in accordance with an embodiment of the present invention;

FIG. 2 is a block diagram illustration of an interference processor useful in the detector of FIG. 1;

FIG. 3A is a block diagram of a standard receiver useful in the data decoder of FIG. 1;

FIGS. 3B and 3C are block diagrams of a pilot interference removing rake receiver, constructed and operative in accordance with alternative embodiments of the present invention;

FIG. 4 is a block diagram illustration of an alternative data detector for a mobile unit which removes the interference effect of multiple pilot signals, constructed and operative in accordance with an embodiment of the present invention; and

FIG. 5 is a block diagram illustration of a base station multi-user data detector constructed and operative in accordance with an embodiment of the present invention.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

Reference is now made to FIGS. 1 and 2 which illustrate a first embodiment of the mobile unit data detector of the present invention. FIG. 1 illustrates the detector in general and FIG. 2 illustrates the elements of an interference processor forming part of the detector of FIG. 1.

Detector 10 forms part of a mobile communication unit which receives a signal r(n) and comprises a rake receiver 12, a pilot processor 11 and an optional decoder 18. The pilot processor 11 includes a synchronizer 13 and a channel estimator 14. However, in accordance with an embodiment of the present invention, detector 10 also comprises an interference processor 20 which utilizes the output of the existing channel estimator 14 and synchronizer 13.

The signal r(n) is the version of the received signal after the latter has been filtered and down converted to a baseband signal and has been sampled at rate of M samples per chip and N chips per symbol where M and N are typically integers. In the IS-95 CDMA standard, there are 64 chips per symbol n and the chip rate is 1.2288×10⁶ chips per second, i.e. T_(chip) is about 0.8 μsec. For simplicity, M is set to 1, i.e. upon receipt, the signal r(n) is sampled once per chip.

Synchronizer 13 synchronizes the detector to the PN sequence of the base station and provides the current PN sequence to the rake receiver 12 and the interference processor 20. Channel estimator 14 estimates the channel tap ĥ_(i) and the delay {circumflex over (τ)}_(i) associated with each finger. Rake receiver 12 despreads the user data signal of the current user using the user's Walsh code (which is known a priori), the current PN sequence, the estimated channel taps ĥ_(i) and the estimated finger delays {circumflex over (τ)}_(i). Rake receiver 12, shown in detail in FIG. 3A, produces the estimated user data signal x(n), sampled once per symbol.

It is noted that the received signal r(n) consists of the data signals of all of the active users (of the current base station and possibly of other, neighboring base stations) the pilot signals of at least the current base station and other interference terms caused by different noise sources in transmission, reception, etc. For the present discussion, the “pilot signal” will refer to the pilot signal of the current base station which is, by far, the strongest pilot signal received by the mobile unit.

In accordance with an embodiment of the present invention, interference processor 20 determines the cross-talk interference effect c(n) of the pilot signal on the user data signal x(n). Since the power of the pilot signal is typically significantly larger than that of any other channel user (to ensure that every synchronizer 13 can synchronize to it), removing the interference effect c(n) of the pilot signal (via a subtractor 22) should considerably improve the estimated user data signal x(n). Furthermore, as described hereinbelow, the interference effect is relatively simple to calculate and thus, interference processor 20 can generally easily be implemented in a mobile handset where the computational burden must be minimized.

Subtractor 22 removes the interference effect c(n) from the rake receiver output x(n) thereby producing a new version x′(n) of the data signal. The new version x′(n) is decoded, via known methods, by optional decoder 18.

Interference processor 20 determines the cross-talk through the rake receiver 12 due to the pilot signal and from this, generates the interference effect caused by the pilot signal. The cross-talk is of the form Re{ĥ_(i)ĥ_(j)′ρ_(a)(k, n)ρ_(p)(k′)}, i≠j, where * indicates the complex conjugate, the function Re{ } indicates the real portion of a complex number, ρ_(a)(k, n) is the cross-correlation of the user and pilot spreading codes for the nth transmitted symbol, ρ_(p)(k′) depends on the baseband filter taps and defines the effect of transmit and receive shaping filters on a transmitted signal, k is a delay defined in integral chips (i.e. k is an integer number) and k′ is a delay defined in fractional chips (i.e. k′ is a real number). Typically, k′ is measured in units of T_(chip)/M.

Since the baseband filter taps are known a priori and do not change over time, ρ_(p)(k′) can be determined a priori for all possible values of k′ and stored in a lookup table 30. A priori transmitter-receiver shaping filter effect generator 32 determines ρ_(p)(k′) as follows:

$\begin{matrix} {{\rho_{p}\left( k^{\prime} \right)} = {\int_{- \infty}^{\infty}{{\alpha\left( {t - k^{\prime}} \right)}{\beta\left( {- t} \right)}\ {\mathbb{d}t}}}} & {{Equation}\mspace{20mu} 1} \end{matrix}$ where k′ typically varies from −L^(T) ^(chip) ^(/M)<k′<+L^(T) ^(chip) ^(/M) in steps of T_(chip)/M, α(t) is the impulse response of the overall transmit shaping filter and β(t) is the impulse response of the overall receive shaping filter. Since ρ_(p)(k′) decays as k′ increases, L is chosen to indicate that point where ρ_(p)(k′) is very small. In other words, L is chosen such that ρ_(p)(L^(T) ^(chip) ^(/M))<<ρ_(p)(0). The transmit filter impulse response α(t) is defined in the IS-95 and IS-98 CDMA standards. For IS-95 it is found in section 6.1.3.1.10 “Baseband Filtering” (pages 6-31–6-33 of 1IS-95-A+TSB74). The receive filter impulse response β(t) is a design option and is typically chosen to be equal to α(t) in order to maximize the expected signal to noise ratio. The impulse responses α(t) and β(t) are thus known a priori. The output of generator 32 is stored in lookup table 30, per value of k′.

Since all Walsh codes and the entire PN sequence are known a priori (recall that the PN sequence is finite and periodic), and since each symbol is transmitted with N values of the PN sequence, ρ_(a)(k, n) can also be generated a priori, for all possible values of k and n and stored in a lookup table 34. A priori spreading code cross-correlator 36 determines ρ_(a)(k, n) as follows.

$\begin{matrix} {{{\rho_{a}\left( {k,n} \right)} = {\frac{1}{2N}{\sum\limits_{m = 0}^{N - 1}{{q_{pilot}\left( {{m + k},s} \right)}{q_{user}\left( {m,n} \right)}^{*}}}}}{{q_{x}\left( {m,n} \right)} = {{x\_ Walsh}(m)*{{PN}\left( {m + {nN}} \right)}}}{x = {{pilot}{\mspace{11mu}\;}{or}\mspace{14mu}{user}}}{0 \leq m \leq {L - {1\mspace{14mu}{per}\mspace{14mu}{symbol}\mspace{14mu} n} - \infty} \leq n \leq \infty}{{{{PN}\left( {m + {nN} + {kQ}} \right)} = {{{PN}\left( {m + {nN}} \right)}{\forall\; m}}},n,k}} & {{Equation}\mspace{14mu} 2} \end{matrix}$ where, as defined in the above equation, the pilot and user Walsh codes q(m, n) are sequences of N chips and PN(n) is a periodic extension of a pseudo-random number sequence of length Q where, for the IS-95 standard, Q is 2¹⁵.

Interference processor 20 additionally comprises a finger cross-talk determiner 38 which receives the estimated channel taps ĥ_(i) and the estimated finger delays {circumflex over (τ)}_(i) from the channel estimator 14 and utilizes them and the information stored in the two lookup tables 30 and 34 to determine the cross-talk effect of two fingers i, j for the given channel, channel delays and pilot signal.

Specifically, interference processor 20 begins by determining the value of k₀′, where k₀′={circumflex over (τ)}_(i)−{circumflex over (τ)}_(j), after which interference processor 20 activates cross-talk effect determiner 38 to determine the cross-talk effect a_(ij)(n) as follows:

$\begin{matrix} {{a_{i,j}(n)} = {\sum\limits_{k,k^{\prime}}{{Re}\left\{ {{\hat{h}}_{i}{\hat{h}}_{j}^{*}{\rho_{a}\left( {k,n} \right)}{\rho_{p}\left( k^{\prime} \right)}} \right\}}}} & {{Equation}\mspace{14mu} 3} \end{matrix}$ where the sum is performed for all k and k¹ within the ranges around k₀′ defined by |k−int(k₀′)|<J and |k′−k_(0′)|<J, respectively. J is a design parameter and is typically in the range of 1 to 10. It is noted that the delay differences k′ and k are stepped by steps of one chip, where all delay difference k′ includes the fractional portion of k₀′. Thus, if k₀′ is, for example, 7.25 chips, then k′ might have values of 5.25, 6.25, 7.25, 8.25 and 9.25 and k might have values 5, 6, 7, 8 and 9.

Equation 3 is operative for BPSK signaling. For non-BPSK signaling, such as QPSK signaling, Equation 3 becomes:

$\begin{matrix} {{a_{i,j}(n)} = {\sum\limits_{k,k^{\prime}}{{\hat{h}}_{i}{\hat{h}}_{j}^{*}{\rho_{a}\left( {k,n} \right)}{\rho_{p}\left( k^{\prime} \right)}}}} & {{Equation}\mspace{14mu} 4^{\prime}} \end{matrix}$

The quantity a_(ij)(n) can be shown to be an estimate of the interference of the pilot signal along finger i to the user signal at finger j. Any number of fingers can be assumed though three is common. For three fingers, i and j vary from 0 to 2. In the IS-95 standard the Walsh codes are perfectly orthogonal, the term a_(i,j)(n) is identically zero. However, with non-orthogonal codes, this term is generally non-zero.

To calculate a_(ij)(n), interference processor 20 retrieves the value of ρ_(a)(k, n) for each value of k and for the nth symbol from lookup table 34 and the value of ρ_(p)(k′) for each value of k′ from lookup table 30. Interference processor activates the cross-talk effect determiner 38 for each set (i, j) of fingers where, for each set, the value of k_(o)′ is first determined as are the ranges of k and k′.

Interference processor 20 additionally comprises a finger interference effect determiner 40 and a total interference effect determiner 42. Finger interference effect determiner 40 determines the interference effect B_(j)(n) per finger as:

$\begin{matrix} {{B_{j}(n)} = {\sum\limits_{i}{a_{i,j}(n)}}} & {{Equation}\mspace{14mu} 5} \end{matrix}$ where the sum is performed over the number of fingers in the channel.

Total interference effect determiner 42 determines the total interference effect C(n) as the sum of the B_(j)(n). The total interference effect C(n) is the output of interference processor 20. As shown in FIG. 3B described in detail hereinbelow, the rake receiver 12 can subtract the individual finger interferences B_(j)(n) from the individual finger contribution, thereby directly producing the corrected, estimated user data signal x′(n).

It will be appreciated that, by removing the interference effect of the pilot signal, a significant portion, though not all, of the noise which affects the user signal x(n) has been removed, thus increasing the performance quality of optional decoder 18. Furthermore, as can be seen from the discussion hereinabove, the computational burden of interference processor 20 is relatively small, in particular since the two cross-correlations ρ_(a)(k, n) and ρ_(p)(k′) can be determined a priori and stored in the lookup tables 30 and 34. Alternatively, ρ_(a)(k, n) can be determined “on-the-fly”, from equation 2, since its computation only involves summation on PN “chips” which, in the IS-95 standard, accept only the values of ±1.

Reference is now briefly made to FIG. 3A which illustrates the elements of rake receiver 12 for a three finger channel and to FIGS. 3B and 3C which illustrate alternative versions 12′ and 12″ of rake receiver 12 which performs the interference correction therewithin.

Rake receiver 12 has three fingers, each performing approximately the same operation on its associated finger. Each finger includes a despreader 50, a windowing summer 52, a sampler 54, a finger gain multiplier 56 and a complex-to-real converter 58. In addition, the second and third fingers include delays 60.

The first finger, known as the 0^(th) finger, serves as the reference finger. The second and third fingers (referred to as the 1^(st) and 2^(nd) fingers), respectively, have delays defined by {circumflex over (τ)}₁ and {circumflex over (τ)}₂, respectively, relative to the 0^(th) finger. Delays 60 delay the received signal r(n) by their delay relative to the 0^(th) finger. For completion, we set {circumflex over (τ)}₀=0.

Despreaders 50 despread the received signal r(n) (the 0^(th) finger) or the delayed signal (the 1^(st) and 2^(nd) fingers) via the spreading signal q_(user), defined hereinabove. Windowing summer 52 sums the output of despreaders 50 over a window of N samples and divides the result by N, as indicated. Samplers 54 sample every Nth datapoint. Finger gain multipliers 56 multiply the sampled signal by the complex conjugate of the associated channel tap ĥ_(i). Converters 58 take the real portion of the resultant signal. A summer 62 sums the output of each finger and produces therefrom the data signal x(n).

The rake receiver 12′ of FIG. 3B is similar to that of FIG. 3A (and therefore, similar elements carry similar reference numerals) with the addition of three subtractors 64 between their respective multiplier 56 and converter 58. Subtractors 64 subtract the finger interference effect B_(i)(n) of the relevant finger from the output of the relevant multiplier 56.

It will be appreciated that, in this embodiment, the output of rake receiver 12′ is the corrected data signal x′(n).

The rake receiver 12″ of FIG. 3C is similar to that of FIG. 3B except that the interference effect is subtracted from the output of despreaders 50. For this, the three subtractors 64 are found before (rather than after) their respective multiplier 56. Furthermore, converter 58 is optional. The cross-talk effect a_(i,j)(n) for this embodiment is now:

$\begin{matrix} {{{a_{i,j}(n)} = {\sum\limits_{k,k^{\prime}}{{Re}\left\{ {{\hat{h}}_{i}{\rho_{a}\left( {k,n} \right)}{\rho_{p}\left( k^{\prime} \right)}} \right\}}}}{{for}\mspace{14mu}{BPSK}\mspace{14mu}{signaling}\mspace{14mu}{and}}} & {{Equation}\mspace{14mu} 5} \\ {{{a_{i,j}(n)} = {\sum\limits_{k,k^{\prime}}{{\hat{h}}_{i}{\rho_{a}\left( {k,n} \right)}{\rho_{p}\left( k^{\prime} \right)}}}}{{for}\mspace{14mu}{non}\text{-}{BPSK}\mspace{14mu}{signaling}}} & {{Equation}\mspace{14mu} 5^{\prime}} \\ {{B_{j}(n)} = {\sum\limits_{i}{a_{i,j}(n)}}} & {{Equation}\mspace{14mu} 6} \end{matrix}$

Reference is now briefly made to FIG. 4 which illustrates a data detector 10′ capable of reducing multi-pilot interference. The detector of FIG. 4 is particularly useful for mobile units when they are approximately equidistant between two or more base stations. At this position, the mobile units receive the pilot signals of the multiple base stations with approximately equal strength. Both pilot signals interfere with the transmitted data signal.

The data detector 10′ is similar to data detector 10 of FIG. 1 in that it includes rake receiver 12, subtractor 22 and optional decoder 18. Data detector 10′ also includes a plurality NB of interference processors 20, one per base station that is interfering, and associated pilot processors 11. As described hereinabove, each pilot processor 11 includes a synchronizer, a channel estimator and a delay estimator. However, in data detector 10′, each pilot processor 11 synchronizes to the pilot of a different base station and, accordingly, each interference processor 20 generates the interference effect of the pilots of the different base stations. Subtractor 22 removes the multiple interference effect outputs of processors 20 from the data signal x(n) in order to produce the corrected signal x′(n) which optional decoder 18 then decodes.

It will be appreciated that the pilot and interference processors 11 and 20, respectively may also be incorporated in a base station. In this embodiment, the processors 11 and 20 operate on the NU user signals which the base station receives. Thus, as shown in FIG. 5, the base station includes a detector 80 which produces NU data signals x_(j)(n). In accordance with an embodiment of the present invention, the base station includes at least one pilot processor 11 for the neighboring base station's pilot signal and NU interference processors 20, one per user, for determining the interference effect of the neighboring pilot signal on the data signal of each user. The base station also includes NU subtractors 22, one per user, for removing the interference effect C_(i)(n) of the relevant interference processor 20 from the corresponding data signal x_(i)(n).

It will be appreciated by persons skilled in the art that the present invention is not limited to what has been particularly shown and described hereinabove. Rather the scope of the present invention is defined only by the claims which follow. 

1. An apparatus, comprising: a rake receiver having a multiplicity of fingers, the rake receiver comprising a per finger interference reducer to remove an interference effect of at least one pilot signal from the output of a despreader of at least one of said multiplicity of fingers.
 2. An apparatus according to claim 1 further comprising a multiplier to multiply the output of said interference reducer with a conjugate of a channel tap estimate for said finger.
 3. An apparatus according to claim 1 wherein the rake receiver is operative for communication systems utilizing BPSK signaling.
 4. An apparatus according to claim 1 wherein the rake receiver is operative for communication systems utilizing non-BPSK signaling.
 5. An apparatus according to claim 1 wherein said at least one pilot signal is the pilot signal of a base station serving a communication device having said rake receiver.
 6. An apparatus according to claim 1 wherein said at least one pilot signal is not the pilot signal of a base station serving a communication device having said rake receiver.
 7. An apparatus according to claim 1 wherein said at least one pilot signal is at least two pilot signals, wherein one of said pilot signals is the pilot signal of a base station serving a communication device having said rake receiver.
 8. An apparatus according to claim 1 wherein said at least one pilot signal is at least two pilot signals, wherein said pilot signals are the pilot signals of base stations serving a communication device having said rake receiver.
 9. An apparatus according to claim 1 wherein said at least one pilot signal is at least two pilot signals, wherein at least one of said at least two pilot signals is a pilot signal of a base station serving a communication device having the rake receiver and at least another of said at least two pilot signals is a pilot signal of a base station not serving said communication device.
 10. A communication device comprising: a rake receiver having a multiplicity of fingers, the rake receiver comprising a per finger interference reducer to remove an interference effect of at least one pilot signal from the output of a despreader of at least one of said multiplicity of fingers; and a decoder to decode the output.
 11. A communication device according to claim 10 wherein said at least one pilot signal is the pilot signal of a base station serving said communication device.
 12. A communication device according to claim 10 wherein said at least one pilot signal is not the pilot signal of a base station serving said communication device.
 13. A communication device according to claim 10 wherein said at least one pilot signal is at least two pilot signals, wherein one of said pilot signals is the pilot signal of a base station serving said communication device.
 14. A communication device according to claim 10 wherein said at least one pilot signal is at least two pilot signals, wherein said pilot signals are the pilot signals of base stations serving said communication device.
 15. A communication device according to claim 10 wherein said at least one pilot signal is at least two pilot signals, wherein at least one of said at least two pilot signals is a pilot signal of a base station serving said communication device and at least another of said at least two pilot signals is a pilot signal of a base station not serving said communication device.
 16. A communication device according to claim 10 further comprising a multiplier adapted to multiply the output of said interference reducer with a conjugate of a channel tap estimate for said finger.
 17. A communication device according to claim 10 operative for communication systems utilizing BPSK signaling.
 18. A communication device according to claim 10 operative for communication systems utilizing non-BPSK signaling. 